from github_stars import GithubStars
from plotly import offline

language = 'java'

github_stars = GithubStars(language)
data_dict = github_stars.stars_ranking()

# 展示结果集
data = [{
    'type': 'bar',
    'x': data_dict['name'],
    'y': data_dict['stars'],
    'hovertext': data_dict['description'],
    # 指定数据
    'marker': {
        # 指定条形颜色
        'color': 'rgb(60, 100, 150)',
        # 轮廓
        'line': {'width': 1.5, 'color': 'rgb(25, 25, 25)'}
    },
    # 透明度
    'opacity': 0.6,
}]

# 展示效果
x_axis_config = {
    'title': '仓库名称', 
    'dtick': 1,
    # 坐标轴字号
    'titlefont': {'size': 24},
    # 刻度字号
    'tickfont': {'size': 14},
}
y_axis_config = {
    'title': '星标',
    'titlefont': {'size': 24},
    'tickfont': {'size': 14},
}

title = f'GitHub上最受欢迎的{language}项目'

my_layout = { 
    'title': title, 
    'xaxis': x_axis_config, 
    'yaxis': y_axis_config
}

fig = {'data': data, 'layout': my_layout}

# 绘制展示
offline.plot(fig, filename='python_repos.html')